Conventional programming environments do not fully support multi-computer processing unit (CPU) and cross-network execution, or flexible sharing of data between large numbers of computing processes. User-facing computer programs have traditionally been constructed so that the majority of processing and all graphical output is produced by a single computational process. This mechanism, though standard and well-supported by tool-chains, development environments and operating systems, scales poorly and is a significant contributor to the bloat and brittleness of widely-used contemporary applications.